﻿using System;

namespace Gman.WebApp.Models
{
    public interface IValidationBase
    {
        bool CheckAndAddValidation(string name, string message);
        void HandlePropertyValidation();
        bool RequiredFieldValidation(string name, Enum val, string message);
        bool RequiredFieldValidation(string name, DateTime? val, string message);
        bool RequiredFieldValidation(string name, decimal? val, string message);
        bool RequiredFieldValidation(string name, int? val, string message);
        bool RequiredFieldValidation(string name, object val, string message);
        bool RequiredFieldValidation(string name, string val, string message);
        bool ValidateEmailFormat(string propertyName, string value, string fieldName);
        bool ValidatePhoneNumberFormat(string propertyName, string value, string fieldName);
        bool ValidateRange(string name, decimal? val, decimal min, decimal max, string message);
        System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<string, string>> ValidationList { get; }
    }
}
